package matchs

import "github.com/flipped-aurora/gin-vue-admin/server/global"

// MatchRating 匹配评分表模型（关联匹配关系的评分与评价）
type MatchRating struct {
	global.GVA_MODEL
	RelationID  uint64 `gorm:"column:relation_id;type:bigint unsigned;not null;comment:'关联匹配关系ID（match_relation.id）'" json:"relationId"`
	FromUserID  uint64 `gorm:"column:from_user_id;type:bigint unsigned;not null;comment:'评分发起者ID'" json:"fromUserId"`
	ToUserID    uint64 `gorm:"column:to_user_id;type:bigint unsigned;not null;comment:'被评分者ID'" json:"toUserId"`
	Score       int8   `gorm:"column:score;type:tinyint;not null;comment:'评分值（1-10分）'" json:"score"`
	Comment     string `gorm:"column:comment;type:varchar(512);default:'';comment:'评价文字内容'" json:"comment"`
	IsAnonymous int8   `gorm:"column:is_anonymous;type:tinyint;not null;default:1;comment:'是否匿名评分：0-实名 1-匿名'" json:"isAnonymous"`
	IsValid     int8   `gorm:"column:is_valid;type:tinyint;not null;default:1;comment:'评分是否有效：0-无效 1-有效'" json:"isValid"`
}

// TableName 自定义表名（适配框架蛇形命名规范）
func (m *MatchRating) TableName() string {
	return "match_rating"
}

// 评分有效性枚举
const (
	MatchRatingInvalid = 0 // 无效（如被举报）
	MatchRatingValid   = 1 // 有效
)
